The present disclosure relates to the field of bus communications for information handling systems, and more particularly to identifying devices coupled to a bus.
As the value and use of information continues to increase, individuals and businesses seek additional ways to acquire, process and store information. One option available to users is information handling systems. An information handling system (‘IHS’) generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, entertainment, and/or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
A bus typically includes a plurality of conductors to electrically couple a plurality of devices. A data portion of the bus transfers actual data while an address portion of the bus directs the data to a predefined address. Typical examples of widely used buses in the personal computer industry include an I2C bus, a system management bus (SMbus), and an ACCESS bus. A technical specification entitled ‘System Management Bus Specification’, Revision 1.0, dated Feb. 15, 1995 describes additional details of the SMBus and is incorporated herein by reference. The SMBus is a popular derivative of the I2C bus and is, in most cases, compatible with the I2C bus. Both buses typically use a two-wire communication scheme and have at least one master device and one or more addressable slave devices. In a multi-master configuration, one or more masters co-exist on the bus at the same time without collision and/or data loss.
In a typical configuration of the SMBus/I2C bus, an input/output controller such as a keyboard controller (KBC) is configured as a master device operable to communicate with one or more rechargeable batteries equipped with electronic circuitry that is configured to operate as a slave. The KBC monitors and controls the operation of the one or more batteries. In a particular configuration, the SMBus/I2C bus may enable the batteries to operate as a master device and perform tasks such as broadcasting a signal. The broadcasted signal may include information such as battery status, manufacturer name, serial and model number, voltage, temperature and charge/discharge status.
Presently, tools and techniques available to monitor SMBus/I2C bus signals are unable to detect which master device originated a signal. That is, whether a signal on the SMBus/I2C bus was originated by the KBC or by another master device such as a battery. Such information is often desired to improve product reliability. For example, it may be desirable to identify potential counterfeit and/or non-compliant batteries that may not properly safeguard the charging process causing excessive heating during the charging process.
Therefore, a need exists for an improved method and system to identify an originating source of a message on a bus such as the SMBus/I2C bus. More specifically, a need exists to develop tools and techniques for distinguishing which one of a plurality of master devices coupled to the SMBus/I2C bus originated a signal. Accordingly, it would be desirable to provide for monitoring a bus included in an IHS, absent the disadvantages found in the prior methods discussed above.